Integrated circuits have permeated into every aspect of modern society. They are the building blocks used to create everything from the information super-highway to the electronic timer in the family toaster. Generally, any device that is used today that is considered “electronic” utilizes one or more integrated circuits. These often-unseen entities help to reduce the daily workload, increase the safety of our air traffic control systems, and even let us know when it is time to add softener to the washing machine. Modern society has come to rely on these devices in almost every product produced today. And, as we progress further into a technologically dependent society, the demand for increased device speeds, capacity and functionality drive integrated manufacturers to push the edge of technology even further.
In the integrated circuit industry, there is a continuing trend toward higher device densities. To achieve these high device densities there have been, and continue to be, efforts toward scaling down device dimensions (e.g., at sub-micron levels) on semiconductor wafers. In order to accomplish such densities, smaller feature sizes and more precise feature shapes are required. This may include width and spacing of interconnecting lines, spacing and diameter of contact holes, and surface geometry, such as corners and edges, of various features. The dimensions of and between such small features can be referred to as critical dimensions (CDs). Reducing CDs and reproducing more accurate CDs facilitates achieving higher device densities.
A substantial number of integrated circuits are designed for particular applications. These application specific integrated circuits comprise an integrated circuit with functionality customized for a particular use, rather than serving for general-purpose employment. For instance, an integrated circuit designed solely to effectively operate a cash register is an application specific integrated circuit, while a microprocessor is not application-specific as it can be employed for multiple purposes. Conventionally, design tools have employed descriptions of a group of semiconductor devices to assist in design of application specific integrated circuits. For example, gates such as 2-input AND gates and other gates that are known in design of integrated circuits are comprised of a plurality of transistors arranged in a particular manner. A software application provides designers with an ability to arrange a plurality of gates and/or other semiconductor devices to design an integrated circuit that functions according to a given application. Difficulties exist, however, when attempting to manufacture integrated circuits according to these custom designs.
Place and route tools are employed to facilitate manufacturing of application specific integrated circuits given a high-level design that was created in the aforementioned design software application. The place and route tools break the design into a plurality of blocks. For example, a block can be one or more gates or other circuit elements, such as power supplies and grounds. These blocks are thereafter placed upon a floor plan in matrix fashion via the place and route tool, and thereafter a router then generates connections between such blocks (e.g., lays metal tracks interconnecting the blocks, creates vias between blocks, . . . ). Another matrix of blocks can thereafter be positioned atop the previous matrix of blocks, and the router can generate connections between such matrices as well as between blocks within the matrices.
The place and route tools, however, are often ineffective in creating a circuit that can be manufactured. More particularly, place and route tools in connection with routers can create routing patterns that have poor manufacturability. For instance, the resultant routing can be associated with a poor manufacturing window as well as other manufacturing problems. Place and route tools are associated with designs with poor manufacturability because such tools employ simple algorithms when routing between blocks. Specifically, most place and route tools employ conventional “if-then” algorithms when determining a manner to interconnect blocks and layers. Accordingly, there exists a need in the art for a system and/or methodology that facilitates creation of routing patterns associated with acceptable manufacturability.